c++ - 从 C++ 类制作 Visual C++ DLL
全部标签 我有一个XamarinForms解决方案。我添加了sqlite-net-pcl作为所有项目的引用。它在Android上运行良好,但在Windows8.1和WindowsPhone8.1上崩溃。我有一个IOS项目,但我目前没有OSX来尝试。我在Windows项目中使用它来访问数据库:usingSystem.IO;usingSQLite;usingXamarin.Forms;usingHelloXamarin.Windows;usingWindows.Storage;[assembly:Dependency(typeof(SQLiteDb))]namespaceHelloXamarin.W
我正在尝试以编程方式确定特定包的包含/安装的DLL文件的路径。我已经阅读了无数SO页面,但找不到任何解决方案。也许我错过了什么,这是不可能的?包裹是capstone并且是通过Cygwin在Windows上使用python3绑定(bind)从源手动安装的。一切正常。#python3-c"importos,inspect,capstone;print(os.path.dirname(inspect.getfile(capstone)))"/usr/lib/python3.6/site-packages/capstone-4.0.0rc1-py3.6.egg/capstone#python3
我需要添加对特定版本的GDIPlus的依赖。这是我想要的GDI+版本:我想确定我使用这个版本是出于特定的兼容性原因。我已经在我的可执行文件中添加了一个程序集list,定义了我对GdiPlus版本的依赖:除了当我运行我的应用程序时,Windows的融合加载器从Side-by-Side文件夹中给我一些其他版本的gdiplus.dll,我可以在ProcessExplorer中看到:它给我的版本是5.02.6002.18005,而不是5.1.3102.2180。所以问题是:如何依赖特定版本的Windowsdll? 最佳答案 你的“问题”是安
我们继承了一个用于读取和读取仪表枪的遗留系统。该系统最初是在XP和.Net1.1(VS2003?)上构建的。在VS2008上使用.net3.5重新编译它后,我们在调用dll(未触及dll)时遇到访问冲突。原始程序(使用基本相同的代码)在我们的生产机器上运行良好。崩溃:[System.AccessViolationException]Attemptedtoreadorwriteprotectedmemory.Thisisoftenanindicationthatothermemoryiscorrupt.代码:[DllImport("tinydb.dll",CallingConventio
在你告诉我“googleit”之前-听我说完。我来自C++和Perl/Python(在Linux上)背景,但我有几个项目即将开始,我必须跳入Windows开发。专门创建一些COMDLL(不是.Net)。顺便说一句,在阅读了一些资源之后,我对什么是COM和什么是DLL有了基本的了解。我尝试在Google上搜索,但我遇到的大多数教程都假设有一些Windows开发经验,或者至少在我看来是这样。所以,我想知道是否有人经历了类似的道路并且可能指出一个方向可以帮助我开始开发COMDLL。我可以访问VS2005。谢谢。 最佳答案 在VS中编程时尝
我使用.net开发了一个Windows服务。我的服务对非托管代码进行了一些调用,如下所示-[DllImport("cmxConnect.dll")]privateunsafestaticexternStringcmxQuery([MarshalAs(UnmanagedType.LPStr)]Strings,long*connPointer);我已将cmxConnect.dll放在与服务可执行文件相同的文件夹中。如果我将登录用户设置为我的域帐户,该服务将正常启动。但是如果我使用本地系统帐户启动服务,我会得到DLLnotfound异常。我猜我的环境设置中有一些东西可以让Windows找到c
我正在编写一些代码以允许用户远程管理IIS7。在引擎盖下,这将授权规则添加到c:\windows\system32\inetsrv\config\administration.config在以下配置部分下:system.webServer/management/authorization/authorizationRules我正在使用Microsoft.Web.Administration程序集和命名空间的代码类似于以下内容:usingMicrosoft.Web.Management.Server;...ManagementAuthorization.Grant("MySiteUser
正如标题所暗示的那样:该场景是一个使用gdb的编码员和一个报告崩溃的用户。他能否从用户那里得到一个易于使用的内存转储,该转储可以提供给gdb但又不会让用户感到困难? 最佳答案 可以设置ProcessDumper根据可执行文件的名称在任何异常或进程退出时生成完整转储。由于标题,我假设是Windows,如果不是,请更改标签。 关于c-我怎样才能为Windows制作一个二进制文件,使非编码人员能够只获得一个可以提供给gdb的故障转储?,我们在StackOverflow上找到一个类似的问题:
我们如何跟踪Windows服务启动时的程序集加载顺序?例如。当我们启动服务时,它会加载所有引用程序集及其依赖项;我想做的是在实际启动服务之前加载哪些程序集(OS、CLR等)。 最佳答案 为此,您可以在AppDomain.CurrentDomain上使用AssemblyLoad事件。staticvoidMain(string[]args){AppDomain.CurrentDomain.AssemblyLoad+=newAssemblyLoadEventHandler(CurrentDomain_AssemblyLoad);Assem
假设我有一个使用MSHTML的应用程序。安装IE9beta会更新MSHTML,这会破坏我的应用程序。我发现IE8dll的副本仍然存在于WinSxS文件夹中,所以也许我可以以某种方式使用它们而无需重新编译我的程序?WinSxS可以做到吗?我已经搜索了很长时间,但无法弄清楚如何重定向加载程序以使用IE8MSHTML(在WinSXS中)而不是IE9(在%SYSTEMROOT%\system32中)。任何想法/示例将不胜感激。 最佳答案 从那以后,我采用了不同的方法来解决这个问题。我将分享我最终所做的事情——我劫持了LoadLibrary并